﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;

namespace MTO.Framework.Web.Mvc
{
    public class MTORazorViewEngine : RazorViewEngine
    {
        /// <summary>
        /// Ce ViewEngine est une amélioration au RazorViewEngine car il redéfini l'endroit où les AREA sont placés dans le code MVC.
        /// Au lieu de s'attendre à avoir un AREA sur le pattern "~/Areas/{2}/Views/{1}/{0}.cshtml", il se retrouvera maintenant à cet
        /// endroit: "~/Views/{2}/{1}/{0}.cshtml". Par le fait même, toutes les références à des pages VB.Net on été retirées.
        /// </summary>
        public MTORazorViewEngine()
        {
            // Celui-ci diffère de l'original qui était sur ce pattern "~/Areas/{2}/Views/{1}/{0}.cshtml"
            base.AreaViewLocationFormats = new string[]
            {
                "~/Views/{2}/{1}/{0}.cshtml",
                "~/Views/{2}/Shared/{0}.cshtml"
            };

            // Celui-ci diffère de l'original qui était sur ce pattern "~/Areas/{2}/Views/{1}/{0}.cshtml"
            base.AreaMasterLocationFormats = new string[]
            {
                "~/Views/{2}/{1}/{0}.cshtml",
                "~/Views/{2}/Shared/{0}.cshtml"
            };

            // Celui-ci diffère de l'original qui était sur ce pattern "~/Areas/{2}/Views/{1}/{0}.cshtml"
            base.AreaPartialViewLocationFormats = new string[]
            {
                "~/Views/{2}/{1}/{0}.cshtml",
                "~/Views/{2}/Shared/{0}.cshtml"
            };

            // J'ai retiré toutes les références à l'extension "vbhtml" car nous n'utilisons pas VB.Net
            base.ViewLocationFormats = new string[]
            {
                "~/Views/{1}/{0}.cshtml",
                "~/Views/Shared/{0}.cshtml"
            };

            // J'ai retiré toutes les références à l'extension "vbhtml" car nous n'utilisons pas VB.Net
            base.MasterLocationFormats = new string[]
            {
                "~/Views/{1}/{0}.cshtml",
                "~/Views/Shared/{0}.cshtml"
            };

            // J'ai retiré toutes les références à l'extension "vbhtml" car nous n'utilisons pas VB.Net
            base.PartialViewLocationFormats = new string[]
            {
                "~/Views/{1}/{0}.cshtml",
                "~/Views/Shared/{0}.cshtml"
            };

            // J'ai retiré l'extension "vbhtml" car nous n'utilisons pas VB.Net
            base.FileExtensions = new string[]
            {
                "cshtml"
            };
        }
    }
}
